/** layui-v1.0.7 LGPL License By http://www.layui.com */
!(function (e) {
  'use strict'
  var t = function () {
    this.v = '1.0.7'
  }
  t.fn = t.prototype
  var n = document,
    o = (t.fn.cache = {}),
    i = (function () {
      var e = n.scripts,
        t = e[e.length - 1].src
      return t.substring(0, t.lastIndexOf('/') + 1)
    })(),
    r = function (t) {
      e.console && console.error && console.error('Layui hint: ' + t)
    },
    u = 'undefined' != typeof opera && '[object Opera]' === opera.toString(),
    l = {
      layer: 'modules/layer',
      laydate: 'modules/laydate',
      laypage: 'modules/laypage',
      laytpl: 'modules/laytpl',
      layim: 'modules/layim',
      layedit: 'modules/layedit',
      form: 'modules/form',
      upload: 'modules/upload',
      tree: 'modules/tree',
      slide: 'modules/slide',
      table: 'modules/table',
      element: 'modules/element',
      util: 'modules/util',
      flow: 'modules/flow',
      code: 'modules/code',
      single: 'modules/single',
      mobile: 'modules/mobile',
      jquery: 'lib/jquery',
      'layui.mod': 'dest/layui.mod'
    }
  ;(o.modules = {}),
    (o.status = {}),
    (o.timeout = 10),
    (o.event = {}),
    (t.fn.define = function (e, t) {
      var n = this,
        i = 'function' == typeof e,
        r = function () {
          return (
            'function' == typeof t &&
              t(function (e, t) {
                ;(layui[e] = t), (o.status[e] = !0)
              }),
            this
          )
        }
      return i && ((t = e), (e = [])), layui['layui.all'] ? r.call(n) : (n.use(e, r), n)
    }),
    (t.fn.use = function (e, t, a) {
      function s(e, t) {
        var n = 'PLaySTATION 3' === navigator.platform ? /^complete$/ : /^(complete|loaded)$/
        ;('load' === e.type || n.test((e.currentTarget || e.srcElement).readyState)) &&
          ((o.modules[m] = t),
          y.removeChild(v),
          (function i() {
            return ++p > (1e3 * o.timeout) / 4 ? r(m + ' is not a valid module') : void (o.status[m] ? c() : setTimeout(i, 4))
          })())
      }
      function c() {
        a.push(layui[m]), e.length > 1 ? f.use(e.slice(1), t, a) : 'function' == typeof t && t.apply(layui, a)
      }
      var f = this,
        d = (o.dir = o.dir ? o.dir : i),
        y = n.getElementsByTagName('head')[0]
      ;(e = 'string' == typeof e ? [e] : e),
        window.jQuery &&
          jQuery.fn.on &&
          (f.each(e, function (t, n) {
            'jquery' === n && e.splice(t, 1)
          }),
          (layui.jquery = jQuery))
      var m = e[0],
        p = 0
      if (((a = a || []), (o.host = o.host || (d.match(/\/\/([\s\S]+?)\//) || ['//' + location.host + '/'])[0]), 0 === e.length || (layui['layui.all'] && l[m]))) return 'function' == typeof t && t.apply(layui, a), f
      var v = n.createElement('script'),
        h = (l[m] ? d + 'lay/' : o.base || '') + (f.modules[m] || m) + '.js'
      return (
        (v.async = !0),
        (v.charset = 'utf-8'),
        (v.src =
          h +
          (function () {
            var e = o.version === !0 ? o.v || new Date().getTime() : o.version || ''
            return e ? '?v=' + e : ''
          })()),
        o.modules[m]
          ? !(function g() {
              return ++p > (1e3 * o.timeout) / 4 ? r(m + ' is not a valid module') : void ('string' == typeof o.modules[m] && o.status[m] ? c() : setTimeout(g, 4))
            })()
          : (y.appendChild(v),
            !v.attachEvent || (v.attachEvent.toString && v.attachEvent.toString().indexOf('[native code') < 0) || u
              ? v.addEventListener(
                  'load',
                  function (e) {
                    s(e, h)
                  },
                  !1
                )
              : v.attachEvent('onreadystatechange', function (e) {
                  s(e, h)
                })),
        (o.modules[m] = h),
        f
      )
    }),
    (t.fn.getStyle = function (t, n) {
      var o = t.currentStyle ? t.currentStyle : e.getComputedStyle(t, null)
      return o[o.getPropertyValue ? 'getPropertyValue' : 'getAttribute'](n)
    }),
    (t.fn.link = function (e, t, i) {
      var u = this,
        l = n.createElement('link'),
        a = n.getElementsByTagName('head')[0]
      'string' == typeof t && (i = t)
      var s = (i || e).replace(/\.|\//g, ''),
        c = (l.id = 'layuicss-' + s),
        f = 0
      ;(l.rel = 'stylesheet'),
        (l.href = e + (o.debug ? '?v=' + new Date().getTime() : '')),
        (l.media = 'all'),
        n.getElementById(c) || a.appendChild(l),
        'function' == typeof t &&
          !(function d() {
            return ++f > (1e3 * o.timeout) / 100
              ? r(e + ' timeout')
              : void (1989 === parseInt(u.getStyle(n.getElementById(c), 'width'))
                  ? (function () {
                      t()
                    })()
                  : setTimeout(d, 100))
          })()
    }),
    (t.fn.addcss = function (e, t, n) {
      layui.link(o.dir + 'css/' + e, t, n)
    }),
    (t.fn.img = function (e, t, n) {
      var o = new Image()
      return (
        (o.src = e),
        o.complete
          ? t(o)
          : ((o.onload = function () {
              ;(o.onload = null), t(o)
            }),
            void (o.onerror = function (e) {
              ;(o.onerror = null), n(e)
            }))
      )
    }),
    (t.fn.config = function (e) {
      e = e || {}
      for (var t in e) o[t] = e[t]
      return this
    }),
    (t.fn.modules = (function () {
      var e = {}
      for (var t in l) e[t] = l[t]
      return e
    })()),
    (t.fn.extend = function (e) {
      var t = this
      e = e || {}
      for (var n in e) t[n] || t.modules[n] ? r('模块名 ' + n + ' 已被占用') : (t.modules[n] = e[n])
      return t
    }),
    (t.fn.router = function (e) {
      for (var t, n = (e || location.hash).replace(/^#/, '').split('/') || [], o = { dir: [] }, i = 0; i < n.length; i++)
        (t = n[i].split('=')),
          /^\w+=/.test(n[i])
            ? (function () {
                'dir' !== t[0] && (o[t[0]] = t[1])
              })()
            : o.dir.push(n[i]),
          (t = null)
      return o
    }),
    (t.fn.data = function (t, n) {
      if (((t = t || 'layui'), e.JSON && e.JSON.parse)) {
        if (null === n) return delete localStorage[t]
        n = 'object' == typeof n ? n : { key: n }
        try {
          var o = JSON.parse(localStorage[t])
        } catch (i) {
          var o = {}
        }
        return n.value && (o[n.key] = n.value), n.remove && delete o[n.key], (localStorage[t] = JSON.stringify(o)), n.key ? o[n.key] : o
      }
    }),
    (t.fn.device = function (t) {
      var n = navigator.userAgent.toLowerCase(),
        o = function (e) {
          var t = new RegExp(e + '/([^\\s\\_\\-]+)')
          return (e = (n.match(t) || [])[1]), e || !1
        },
        i = {
          os: (function () {
            return /windows/.test(n) ? 'windows' : /linux/.test(n) ? 'linux' : /iphone|ipod|ipad|ios/.test(n) ? 'ios' : void 0
          })(),
          ie: (function () {
            return !!(e.ActiveXObject || 'ActiveXObject' in e) && ((n.match(/msie\s(\d+)/) || [])[1] || '11')
          })(),
          weixin: o('micromessenger')
        }
      return t && !i[t] && (i[t] = o(t)), (i.android = /android/.test(n)), (i.ios = 'ios' === i.os), i
    }),
    (t.fn.hint = function () {
      return { error: r }
    }),
    (t.fn.each = function (e, t) {
      var n,
        o = this
      if ('function' != typeof t) return o
      if (((e = e || []), e.constructor === Object)) {
        for (n in e) if (t.call(e[n], n, e[n])) break
      } else for (n = 0; n < e.length && !t.call(e[n], n, e[n]); n++);
      return o
    }),
    (t.fn.stope = function (t) {
      ;(t = t || e.event), t.stopPropagation ? t.stopPropagation() : (t.cancelBubble = !0)
    }),
    (t.fn.onevent = function (e, t, n) {
      return 'string' != typeof e || 'function' != typeof n ? this : ((o.event[e + '.' + t] = [n]), this)
    }),
    (t.fn.event = function (e, t, n) {
      var i = this,
        r = null,
        u = t.match(/\(.*\)$/) || [],
        l = (t = e + '.' + t).replace(u, ''),
        a = function (e, t) {
          var o = t && t.call(i, n)
          o === !1 && null === r && (r = !1)
        }
      return layui.each(o.event[l], a), u[0] && layui.each(o.event[t], a), r
    }),
    (e.layui = new t())
})(window)
